1. Technical Field
Embodiments of the invention relate generally to information processing systems and more particularly to generating log statements in information processing systems.
2. Prior Art
An information processing system receives a plurality of incoming message flows. The information processing system processes these plurality of incoming message flows and produces message flows with processed information. The information processing system includes various modules defined for different functionalities. Examples of various modules may include an input module, output module, processing module, authentication module, classification module and a connecting module. The plurality of incoming message flows are passed through the various modules defined in the information processing system.
The utility of the information processing system depends on the accuracy and timeliness of the output. Efficient debugging techniques facilitate improvement in the accuracy of the information processing system. Debugging is a process of detecting and eliminating mistakes in a program in the information processing system. Traditionally, log statements are used for debugging purposes. The log statements include a working log of the information processing system. The working log of an information processing system includes the progress of each flow or loop or a command in a program. The log statements may be embedded in a program to generate history of operations performed by software. Further, the log statements may send a record of the debugging process to various destinations. A common destination is a log file, wherein the log statements may be printed and dispatched.
Conventionally, log statements are used to debug various modules of the information processing system. Alternatively, log statements are also used to debug a user defined flow. The user can specify one or more message flows as a user defined flow. The user can also specify one or more modules for debugging. Traditional methods enable generation of log statements for either the user specified one or more message flows or the user specified one or more modules. For example, a user may be interested in debugging a particular message flow. Log statements are then generated for the message flow. However, log statements are generated for all the modules corresponding to that particular message flow. Hence the number of log statements generated will be proportional to the number of modules in the information processing system. Therefore, the information processing system may get strained when the number of modules defined in the information processing system increases. Also, all the log statements generated may not be useful to the user if the user is only interested in debugging a specific module.
Similarly, consider an example wherein the user is interested in debugging a specific module. Log statements are generated for the specific module. However, the log statements are generated for all the message flows corresponding to the specific module. Hence, the number of log statements generated is proportional to the number of message flows entering into the information processing system. Therefore, the information processing system may get strained when the number of message flows entering into the information processing system becomes large. Further, all the log statements may not be useful to the user if the user is interested in debugging a specific message flow.
In light of the foregoing discussion, there is a need for an efficient technique for generating log statements. Further, there is also a need for optimizing the memory usage while debugging.